#pragma once
#include "sgcomposite.h"
#include "sgmaterial.h"
#include "sgptr.h"

class CSgOctagonalCylinder :
	public CSgComposite
{
public:
	CSgOctagonalCylinder(float height, float radius) {m_height = height; m_radius = radius;	m_oct = new CSgComposite(); m_sidetexture = NULL; m_mat = NULL; Create();}
	CSgOctagonalCylinder(float height, float radius, CTexture * m_s){m_height = height;	m_radius = radius; m_oct = new CSgComposite(); m_sidetexture = m_s; m_mat = NULL; Create();}
	CSgOctagonalCylinder(float height, float radius, CTexture * m_s, CSgPtr<CSgMaterial> mat){m_height = height; m_radius = radius;	m_oct = new CSgComposite(); m_sidetexture = m_s; m_mat = mat; Create();}
	CSgOctagonalCylinder(float height, float radius, CSgPtr<CSgMaterial> mat){m_height = height; m_radius = radius; m_oct = new CSgComposite(); m_sidetexture = NULL; m_mat = mat; Create();}

	~CSgOctagonalCylinder(void);
	void Create();
	void Render();
	
private:
	CTexture * m_sidetexture;
	float m_height;
	float m_radius;
	CSgPtr<CSgComposite> m_oct;
	CSgPtr<CSgMaterial> m_mat;
};
